//
//  UserModelController.swift
//  swift微博
//
//  Created by CC on 16/2/28.
//  Copyright © 2016年 CC. All rights reserved.
//

import UIKit

class UserModelController: NSObject {
    // 单例
    static let sharedInstance: UserModelController = UserModelController()
    
    // 用户账户,通过单例可以全局访问
    var ccuserAccount: UserAccount?
    
    // 3.1 调用CZUserAccountViewModel的方法去加载请求
    func loadAccessToken(code: String) {
        // 3.2 使用CZNetworkTool发起请求获取AccessToken,并且准备闭包
        NetWorkTool.sharedInstance.loadAccessToken(code, tokenGot: { (response, error) -> () in
            // 3.7判断请求是否失败
            if response == nil || error != nil {
                print("access token 请求失败: \(error)")
                return
            }
            
            // 获取access token 成功
            print("获取access token 成功 response: \(response)")
            
            // 3.8 字典转模型,并且赋值给属性
            self.ccuserAccount = UserAccount(dict: response!)
            
            // 3.9 将模型保存到沙盒里面
            self.saveUserAccount()
            
            // 还会涉及将沙盒的userAccount解档
        })
    }
    
    // 将对象保存到沙盒
    func saveUserAccount() {
        if ccuserAccount != nil{
            let accPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentationDirectory, NSSearchPathDomainMask.UserDomainMask, true).last!.stringByAppendingString("Account.plist")
            NSKeyedArchiver.archiveRootObject(ccuserAccount!, toFile: accPath)
        }
    }
       
        

}
